依存関係逆転の原則(Dependency inversion principle)
#CleanArchitecture
通常は上位モジュールが下位モジュールに依存するが、上位モジュールが下位モジュールの抽象インターフェースに対して操作するようにすべし。下位モジュールがその抽象インターフェースを実装することで、上位モジュールから下位モジュールへの依存をなくすことができる。
https://en.wikipedia.org/wiki/Dependency_inversion_principle